/*
 * Copyright (c) Jiandong.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

import { RequestHandler } from '../packagerConnection/RequestHandler';
import { ReactInstanceDevHelper } from './ReactInstanceDevHelper';
import { ReactContext } from '../bridge/ReactContext';
import { SurfaceDelegateFactory } from '../common/SurfaceDelegateFactory';
import { DevBundleDownloadListener } from './DevBundleDownloadListener';
import { DevSupportManager } from './DevSupportManager';
import HashMap from '@ohos.util.HashMap';
import Context from '@ohos.application.context';


export interface DevSupportManagerFactory {
  create(
    abilityContext: Context.AbilityContext, //android context
    reactInstanceManagerHelper: ReactInstanceDevHelper,
    packagerPathForJSBundleName?: string,
    enableOnCreate?: boolean,
    //  @Nullable RedBoxHandler redBoxHandler,
    devBundleDownloadListener?: DevBundleDownloadListener,
    minNumShakes?: number,
    customPackagerCommandHandlers?: HashMap<string, RequestHandler>,
    surfaceDelegateFactory?: SurfaceDelegateFactory): DevSupportManager;
}
